﻿using System.ComponentModel.DataAnnotations;
using YNTK.Common.Enum;
using YNTK.Dependency;

namespace YNTK.Employees.Entitys.Dto
{
    /// <summary>
    /// 员工教育经历数据传输模型
    /// </summary>
    [SuppressSniffer]
    public class EducationListDto
    {
        /// <summary>
        /// id
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 学历(0.学前教育 1.小学 2.初中 3.中专 4.高中 5.专科 6.本科 7.硕士研究生 8.博士研究生)
        /// </summary>
        public int? education { get; set; }

        /// <summary>
        /// 学历文本
        /// </summary>
        public string educationText { get; set; }

        /// <summary>
        /// 学位(0.无 1.学士 2.硕士 3.博士)
        /// </summary>
        public int? degree { get; set; }

        /// <summary>
        /// 学位文本
        /// </summary>
        public string degreeText { get; set; }

        /// <summary>
        /// 入学日期
        /// </summary>
        public DateTime? enrollmentDate { get; set; }

        /// <summary>
        /// 毕业日期
        /// </summary>
        public DateTime? graduationDate { get; set; }

        /// <summary>
        /// 学校
        /// </summary>
        public string school { get; set; }

        /// <summary>
        /// 专业
        /// </summary>
        public string professional { get; set; }

        /// <summary>
        /// 是否全日制
        /// </summary>
        public bool fullTime { get; set; }

        /// <summary>
        /// 证书编码
        /// </summary>
        public string certificateNo { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }

        /// <summary>
        /// 毕业证照片服务器存储路径
        /// </summary>
        public string graduationCardFilePath { get; set; }

        /// <summary>
        /// 学位证照片服务器存储路径
        /// </summary>
        public string degreeFilePath { get; set; }
    }

    /// <summary>
    /// 添加教育经历请求模型
    /// </summary>
    [SuppressSniffer]
    public class AddEducationRequestModel
    {
        /// <summary>
        /// 学历(0.学前教育 1.小学 2.初中 3.中专 4.高中 5.专科 6.本科 7.硕士研究生 8.博士研究生)
        /// </summary>
        [Required(ErrorMessage = "请选择学历")]
        public EducationEnum education { get; set; }

        /// <summary>
        /// 学位(0.无 1.学士 2.硕士 3.博士)
        /// </summary>
        [Required(ErrorMessage = "请选择学位")]
        public DegreeEnum degree { get; set; }

        /// <summary>
        /// 入学日期
        /// </summary>
        [Required(ErrorMessage = "入学日期不能为空")]
        public DateTime? enrollmentDate { get; set; }

        /// <summary>
        /// 毕业日期
        /// </summary>
        public DateTime? graduationDate { get; set; }

        /// <summary>
        /// 学校
        /// </summary>
        [Required(ErrorMessage = "学校不能为空")]
        public string school { get; set; }

        /// <summary>
        /// 专业
        /// </summary>
        public string professional { get; set; }

        /// <summary>
        /// 是否全日制
        /// </summary>
        [Required(ErrorMessage = "请选择是否为全日制")]
        public bool fullTime { get; set; }

        /// <summary>
        /// 证书编码
        /// </summary>
        public string certificateNo { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }

        /// <summary>
        /// 毕业证照片服务器存储路径
        /// </summary>
        public string graduationCardFilePath { get; set; }

        /// <summary>
        /// 学位证照片服务器存储路径
        /// </summary>
        public string degreeFilePath { get; set; }
    }

    /// <summary>
    /// 修改教育经历请求模型
    /// </summary>
    [SuppressSniffer]
    public class UpdateEducationRequestModel: AddEducationRequestModel
    {
        /// <summary>
        /// 教育经历id
        /// </summary>
        [Required(ErrorMessage = "教育经历唯一标识不能为空")]
        public string id { get; set; }
    }

}
